package com.moss.cloud.remote.biz.service;

import com.moss.cloud.remote.api.model.from.WXUserInfoFrom;
import com.moss.cloud.remote.api.model.from.WXUserTokenFrom;
import com.moss.cloud.remote.api.model.vo.WXCodeAccessToken;
import com.moss.cloud.remote.api.model.vo.WXUserInfo;
import com.moss.cloud.remote.api.model.vo.WXUserJSCode;

/**
 * 微信接口服务接口
 *
 * @author 瑾年
 * @date 2023年3月31日
 */
public interface IWXService {
    /**
     * 用CODE换取access_token
     *
     * @param wxUserTokenFrom
     * @return
     */
    WXCodeAccessToken doGetToken(WXUserTokenFrom wxUserTokenFrom);

    /**
     * 用accessToken和openid获取用户信息
     *
     * @param wxUserInfoFrom
     * @return
     */
    WXUserInfo doGetUserInfo(WXUserInfoFrom wxUserInfoFrom);

    /**
     * JS_CODE获取openid
     *
     * @param wxUserTokenFrom
     * @return
     */
    WXUserJSCode doGet(WXUserTokenFrom wxUserTokenFrom);
}
